Softverska entropija

Softverska entropija je pojam kojim se opisuje entropija koja nastaje u softverskim sustavima kada ih se izmijeni. Rad o softverskom inženjeringu autora Ivara Jacobsona i suradnika. [1] opisuje softversku entropiju kao:

Prema drugom zakonu termodinamike, u načelu, nerednost zatvorena sustava se ne može smanjiti, nego može samo ostati ista ili još narasti. Mjera za taj nered je entropija. Ovaj zakon je izgleda vjerojatan i za softverske sustave; čim se izmijeni sustav, njegov nered, odnosno entropija uvijek raste. Ovo je poznato kao softverska entropija.
U razvijanju softvera postoje slične teorije. Usporedi Lehmanov rad iz 1985. godine.,[2] gdje je predložio nekoliko zakona, od kojih neki glase:
  1. Računalni program kojeg se koristi će se izmijeniti.
  2. Kad se program izmijeni, njegova složenost će biti veća, osim ako netko aktivno ne radi suprotivu tome.


Andrew Hunt i David Thomas rabe izraz Fixing Broken Windows kao metaforu za izbjegavanje softverske entropije u razvijanju softvera.[3]

Proces refaktoriranja koda može rezultirati postupnim smanjenjem softverske entropije.

  1. Jacobson, Ivar; Christerson, Magnus; Jonsson, Patrik; Övergaard, Gunnar. 1992. Object-Oriented Software Engineering: A Use Case Driven Approach. ACM Press. Addison-Wesley. str. 69.-70. ISBN 0201544350
  2. Lehman, M.M.; Belady, L.A. 1985. Program evolution: processes of software change. Academic Press Professional, Inc., San Diego, CA
  3. Hunt, Andrew; Thomas, David. 1999. The Pragmatic Programmer. Addison Wesley. ISBN 0-201-61622-X - Naputak br. 4 (od 22 naputka) glasi Ne živi uz razbijene prozore (=Windowse koji su pukli)" (eng. "Don't Live with Broken Windows").

Developed by StudentB